--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
tests/backend/test_rnode_support.py e46eed7f7e2637c4c21f4c772d908ef75ec49e6a (e46eed7f) Text, 2.54 KB
T8b949e# SPDX-License-Identifier: 0BSD
Tff7b72from T7ee787meshchatxT7ee787.T7ee787srcT7ee787.T7ee787backend Tff7b72import Te6edf3rnode_support
Tff7b72def Td2a8fftest_guard_disables_rnode_when_usbserial4a_missingTb4b4b4(Te6edf3tmp_pathTb4b4b4, Te6edf3monkeypatchTb4b4b4)Tb4b4b4:
Te6edf3config_path Tff7b72= Te6edf3tmp_path Tff7b72/ Ta5d6ff"Ta5d6ffconfigTa5d6ff"
Te6edf3config_pathTff7b72.Td2a8ffwrite_textTb4b4b4(
T8b949e"""[interfaces]
[[RNode Serial]]
type = RNodeInterface
interface_enabled = True
port = ble://aa:bb:cc:dd:ee:ff
"""Tb4b4b4,
Te6edf3encodingTff7b72=Ta5d6ff"Ta5d6ffutf-8Ta5d6ff"Tb4b4b4,
Tb4b4b4)
Te6edf3monkeypatchTff7b72.Td2a8ffsetattrTb4b4b4(Te6edf3rnode_supportTb4b4b4, Ta5d6ff"Ta5d6ff_is_chaquopy_androidTa5d6ff"Tb4b4b4, Tff7b72lambdaTb4b4b4: Tff7b72TrueTb4b4b4)
Te6edf3monkeypatchTff7b72.Td2a8ffsetattrTb4b4b4(Te6edf3rnode_supportTb4b4b4, Ta5d6ff"Ta5d6ffandroid_usbserial4a_availableTa5d6ff"Tb4b4b4, Tff7b72lambdaTb4b4b4: Tff7b72FalseTb4b4b4)
Tff7b72assert Te6edf3rnode_supportTff7b72.Td2a8ffguard_rnode_interfaces_on_androidTb4b4b4(Tffa657strTb4b4b4(Te6edf3config_pathTb4b4b4)Tb4b4b4) Tff7b72is Tff7b72True
Tff7b72assert Ta5d6ff"Ta5d6ffinterface_enabled = falseTa5d6ff" Tff7b72in Te6edf3config_pathTff7b72.Td2a8ffread_textTb4b4b4(Te6edf3encodingTff7b72=Ta5d6ff"Ta5d6ffutf-8Ta5d6ff"Tb4b4b4)
Tff7b72def Td2a8fftest_guard_keeps_rnode_when_usbserial4a_availableTb4b4b4(Te6edf3tmp_pathTb4b4b4, Te6edf3monkeypatchTb4b4b4)Tb4b4b4:
Te6edf3config_path Tff7b72= Te6edf3tmp_path Tff7b72/ Ta5d6ff"Ta5d6ffconfigTa5d6ff"
Te6edf3config_pathTff7b72.Td2a8ffwrite_textTb4b4b4(
T8b949e"""[interfaces]
[[RNode Serial]]
type = RNodeInterface
interface_enabled = True
"""Tb4b4b4,
Te6edf3encodingTff7b72=Ta5d6ff"Ta5d6ffutf-8Ta5d6ff"Tb4b4b4,
Tb4b4b4)
Te6edf3monkeypatchTff7b72.Td2a8ffsetattrTb4b4b4(Te6edf3rnode_supportTb4b4b4, Ta5d6ff"Ta5d6ff_is_chaquopy_androidTa5d6ff"Tb4b4b4, Tff7b72lambdaTb4b4b4: Tff7b72TrueTb4b4b4)
Te6edf3monkeypatchTff7b72.Td2a8ffsetattrTb4b4b4(Te6edf3rnode_supportTb4b4b4, Ta5d6ff"Ta5d6ffandroid_usbserial4a_availableTa5d6ff"Tb4b4b4, Tff7b72lambdaTb4b4b4: Tff7b72TrueTb4b4b4)
Tff7b72assert Te6edf3rnode_supportTff7b72.Td2a8ffguard_rnode_interfaces_on_androidTb4b4b4(Tffa657strTb4b4b4(Te6edf3config_pathTb4b4b4)Tb4b4b4) Tff7b72is Tff7b72False
Tff7b72assert Ta5d6ff"Ta5d6ffinterface_enabled = TrueTa5d6ff" Tff7b72in Te6edf3config_pathTff7b72.Td2a8ffread_textTb4b4b4(Te6edf3encodingTff7b72=Ta5d6ff"Ta5d6ffutf-8Ta5d6ff"Tb4b4b4)
Tff7b72def Td2a8fftest_rnode_serial_supported_on_desktopTb4b4b4(Te6edf3monkeypatchTb4b4b4)Tb4b4b4:
Te6edf3monkeypatchTff7b72.Td2a8ffsetattrTb4b4b4(Te6edf3rnode_supportTb4b4b4, Ta5d6ff"Ta5d6ff_is_chaquopy_androidTa5d6ff"Tb4b4b4, Tff7b72lambdaTb4b4b4: Tff7b72FalseTb4b4b4)
Tff7b72assert Te6edf3rnode_supportTff7b72.Td2a8ffrnode_serial_supportedTb4b4b4(Tb4b4b4) Tff7b72is Tff7b72True
Tff7b72def Td2a8fftest_guard_disables_rnode_with_invalid_txpowerTb4b4b4(Te6edf3tmp_pathTb4b4b4)Tb4b4b4:
Te6edf3config_path Tff7b72= Te6edf3tmp_path Tff7b72/ Ta5d6ff"Ta5d6ffconfigTa5d6ff"
Te6edf3config_pathTff7b72.Td2a8ffwrite_textTb4b4b4(
T8b949e"""[interfaces]
[[t9-srv]]
type = RNodeInterface
interface_enabled = True
port = /dev/ttyUSB0
frequency = 868000000
bandwidth = 125000
txpower = -9
spreadingfactor = 8
codingrate = 5
"""Tb4b4b4,
Te6edf3encodingTff7b72=Ta5d6ff"Ta5d6ffutf-8Ta5d6ff"Tb4b4b4,
Tb4b4b4)
Tff7b72assert Te6edf3rnode_supportTff7b72.Td2a8ffguard_invalid_rnode_txpower_in_configTb4b4b4(Tffa657strTb4b4b4(Te6edf3config_pathTb4b4b4)Tb4b4b4) Tff7b72is Tff7b72True
Te6edf3text Tff7b72= Te6edf3config_pathTff7b72.Td2a8ffread_textTb4b4b4(Te6edf3encodingTff7b72=Ta5d6ff"Ta5d6ffutf-8Ta5d6ff"Tb4b4b4)
Tff7b72assert Ta5d6ff"Ta5d6ffinterface_enabled = falseTa5d6ff" Tff7b72in Te6edf3textTff7b72.Td2a8fflowerTb4b4b4(Tb4b4b4)
Tff7b72def Td2a8fftest_guard_keeps_rnode_with_valid_txpowerTb4b4b4(Te6edf3tmp_pathTb4b4b4)Tb4b4b4:
Te6edf3config_path Tff7b72= Te6edf3tmp_path Tff7b72/ Ta5d6ff"Ta5d6ffconfigTa5d6ff"
Te6edf3config_pathTff7b72.Td2a8ffwrite_textTb4b4b4(
T8b949e"""[interfaces]
[[Radio]]
type = RNodeInterface
interface_enabled = True
txpower = 7
"""Tb4b4b4,
Te6edf3encodingTff7b72=Ta5d6ff"Ta5d6ffutf-8Ta5d6ff"Tb4b4b4,
Tb4b4b4)
Tff7b72assert Tb4b4b4(
Te6edf3rnode_supportTff7b72.Td2a8ffguard_invalid_rnode_txpower_in_configTb4b4b4(Tffa657strTb4b4b4(Te6edf3config_pathTb4b4b4)Tb4b4b4) Tff7b72is Tff7b72False
Tb4b4b4)
Tff7b72assert Ta5d6ff"Ta5d6ffinterface_enabled = TrueTa5d6ff" Tff7b72in Te6edf3config_pathTff7b72.Td2a8ffread_textTb4b4b4(Te6edf3encodingTff7b72=Ta5d6ff"Ta5d6ffutf-8Ta5d6ff"Tb4b4b4)
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────